home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
CRS
/
crs19.d81
/
spectrum.sfx
/
hi-res editor
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1992-09-01
|
2KB
|
120 lines
4 B=0:C=3:UJ=0
5 POKE53280,0:POKE53281,0
10 IF A=0THEN A=1:LOAD"KS/L",8,1
20 BASE=2*4096:POKE53272,PEEK(53272)OR8
30 POKE53265,PEEK(53265)OR32
50 FORI=1024TO2023:POKEI,3:NEXT
55 V=53248
60 FORE=832TO894:READF:POKEE,F:NEXTE
70 POKEV+21,1:POKEV+39,1:POKE2040,13
80 POKEV,24:POKEV+1,50
100 DATA 252,0,0,248,0,0,240,0,0,248,0,0,220,0,0,142,0,0,7,0,0,3,128,0,1,0,0,0,0
105 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
198 EF=1
199 X=25:Y=50
200 JV=PEEK(56320)
202 IF JV=111 THEN 1800
204 IF JV=110 THEN 1300
206 IF JV=109 THEN 1350
208 IF JV=107 THEN 1400
210 IF JV=106 THEN 1450
212 IF JV=105 THEN 1500
214 IF JV=103 THEN 1550
216 IF JV=102 THEN 1600
218 IF JV=101 THEN 1650
222 IF JV=127 THEN 250
223 IF JV=126THEN 300
224 IF JV=125THEN 350
226 IF JV=123THEN 400
228 IF JV=122THEN 450
230 IF JV=121THEN 500
232 IF JV=119THEN 550
234 IF JV=118THEN 600
236 IF JV=117THEN 650
250 GETP$
252 IF P$="L" THEN 3000
254 IF P$="S" THEN 3010
256 IF P$="[147]" THEN 950
258 IF P$="C" THEN 1050
260 IF P$="B" THEN 1000
262 IF P$="0" THEN LK=0
264 IF P$="1" THEN LK=1
266 IF P$="2" THEN LK=2
268 IF P$="3" THEN LK=3
270 IF P$="4" THEN LK=4
272 IF P$="5" THEN LK=5
274 IF P$="6" THEN LK=6
276 IF P$="7" THEN LK=7
278 IF P$="8" THEN LK=8
280 IF P$="9" THEN LK=9
282 IF P$="X"THEN 4000
284 IF P$="E" THENUJ=1
286 IF P$="D" THENUJ=0
299 GOTO 200
300 Y=Y-1:GOTO 800
350 Y=Y+1:GOTO 800
400 X=X-1:GOTO 800
450 X=X-1:Y=Y-1:GOTO 800
500 X=X-1:Y=Y+1:GOTO 800
550 X=X+1:GOTO 800
600 X=X+1:Y=Y-1:GOTO 800
650 X=X+1:Y=Y+1:GOTO 800
800 IF Y>250 THEN Y=250
801 IF Y<50THEN Y=50
802 POKE V+1,Y
803 IF X>255 THEN 830
804 IF X<25 THEN X=25
805 POKE V+16,0:POKEV,X:GOTO 200
830 POKEV+16,1:W=X-255:POKEV,W:GOTO 200
950 FORI=BASETOBASE+7999:POKEI,0:NEXT:GOTO 200
1000 C=C+1:IFC=16 THEN C=0
1020 GOTO 1090
1050 B=B+1:IF B=16 THEN B=0
1051 IF B=0 THEN L=0
1052 IF B=1 THEN L=16
1053 IF B=2 THEN L=32
1054 IF B=3 THEN L=48
1055 IF B=4 THEN L=64
1056 IF B=5 THEN L=80
1057 IF B=6 THEN L=96
1058 IF B=7 THEN L=112
1059 IF B=8 THEN L=128
1060 IF B=9 THEN L=144
1061 IF B=10THEN L=160
1062 IF B=11THEN L=176
1063 IF B=12THEN L=192
1064 IF B=13THEN L=208
1065 IF B=14THEN L=224
1066 IF B=15THEN L=240
1082 HX=YT
1300 Y=Y-1:GOTO1800
1350 Y=Y+1:GOTO1800
1400 X=X-1:GOTO1800
1450 X=X-1:Y=Y-1:GOTO1800
1500 X=X-1:Y=Y+1:GOTO1800
1550 X=X+1:GOTO1800
1600 X=X+1:Y=Y-1:GOTO1800
1650 X=X+1:Y=Y+1:GOTO1800
1800 AX=X-24:AY=Y-50
1801 FORTR=AYTO(AY+LK)
1802 FORYT=AXTO(AX+LK)
1803 HY=TR:HX=YT
1821 RO=INT(HY/8):CH=INT(HX/8):LI=HYAND7:BI=7-(HXAND7):BY=BA+RO*320+CH*8+LI
1822 IFUJ=0 THEN 1830
1823 POKEBY,PEEK(BY)AND(255-2^BI)
1825 NEXT:NEXT:GOTO 800
1830 POKEBY,PEEK(BY)OR2^BI
1833 NEXT:NEXT:GOTO 800
3000 POKE 53272,21:POKE53265,155
3001 PRINT"[147]":SYS49152:PRINT"[147]"
3002 RUN
3010 POKE 53272,21:POKE53265,155
3011 PRINT"[147]":SYS49155:PRINT"[147]"
3012 RUN
4000 POKE53272,21:POKE53265,155:POKE198,4
4001 FOR DL=832TO832+62:POKEDL,0:NEXT
4002 PRINT"[147]LOAD"CHR$(34)"SPECTRUM V1.0";
4003 PRINTCHR$(34)",8";
4004 POKE631,13:POKE632,82:POKE633,117:POKE634,13
4005 END